Operator.Port operator

説明

オペレータの指定されたPortオブジェクトを検索して戻します。スクリプトオペレータエディタを使用して作成されたスクリプトオペレータ(ランタイムスクリプトオペレータ)では PortGroupInstance(インデックス)引数が無視されます。それ以外のオペレータでは、PortGroupおよび PortGroupInstance を指定しない場合は、指定された名前で検索された最初のポートが戻されます。

注:Python ではプロパティ上の入力パラメータがサポートされていないので、このプロパティは失敗します。代わりにOperator.GetPort2メソッドを使用してください。

パラメータ

パラメータ タイプ 詳細
Name String ポートの名前
PortGroup String ポートグループの名前

デフォルト値:""(空文字列)

PortGroupInstance Long ポートグループインスタンスのインデックス。この引数はランタイムオペレータには適用されません。ポートグループを指定していない場合、この引数は無視されます。

デフォルト値: 0

JScript の例

/*
        The following code illustrates how to get the port from an operator if
        you know its name. 
*/
NewScene( null, false );
var oObject = ActiveSceneRoot.AddGeometry("Sphere","MeshSurface");
apply_deform( oObject );
var oDeformOperator = oObject.ActivePrimitive.ConstructionHistory.Find( "MyDeform" );
var oPort = oDeformOperator.Port("InGeom","MainGroup",0);
var oInputGeometry = oPort.Target2;
Application.LogMessage( oDeformOperator.Name + " is reading from the " + oInputGeometry.FullName );
function apply_deform( oObject )
{
        var op = XSIFactory.CreateScriptedOp( "MyDeform", MyDeform_Update.toString(), "JScript" );
        // Define connections
        var group = op.AddPortGroup( "MainGroup" );
        var ioport = op.AddIOPort( oObject.ActivePrimitive, "Geom", group.Index );
        // Define parameters
        var pdef = XSIFactory.CreateParamDef2( "Factor", siDouble, 0.5, 0, 1 );
        op.addparameter(pdef);
        // Connect operator
        op.Connect(oObject);
}
function MyDeform_Update( ctx, out, InGeom )
{
        // Get the factor.
        var dFactor = ctx.Parameters("Factor").Value
        // Get the array of point positions.
        var aPnts = InGeom.Value.Geometry.Points.PositionArray.toArray();
        // Deform geometry
        // Update the object//s point positions.
        out.Value.Geometry.Points.PositionArray = aPnts;
        return;
}
//

関連項目

Operator.GetPort2